Halftoning is a process by which continuous-tone images are approximated by a pattern of pixels that can achieve only a limited number of discrete intensities. An example of this is the rendering of gray tones with black and white pixels, such as in a newspaper photograph. A halftone pattern is made up of a region of pixels referred to as a halftone cell. In conventional digital halftoning (e.g., halftoning that uses rational tangent angles), a halftone cell includes a specific, repeatable pattern. The tonal range of a halftone pattern depends upon the number of pixels in the halftone cell.
A halftone cell may cover only a small number of values (e.g., 16 values for a 4×4 cell). However, it may be necessary to include a higher range of values (e.g., 256). Thus, the halftone cell may be converted to a super cell by shifting the original cell by multiple constants to cover the desired range.
Pixels are typically arranged on an orthogonal grid, with the pixels placed at evenly spaced lattice points on an output device. A two dimensional array of pixels is often called a pixel map. Each pixel in the pixel map has its own unique address on the grid. An image processor within the output device uses this address to keep track of each pixel and its associated threshold value. A threshold value represents the tone value at which the pixel is turned “on.” Each pixel within a super cell is assigned a threshold value.
Typically a threshold array (or matrix) is used to control the individual pixels in the super cell. The threshold matrix is replicated and “tiled” (i.e., filled in a non-overlapping manner) over the entire device space. Each pixel in the device space is then mapped to a particular element of the threshold matrix.
In order to determine whether a pixel is “on” or “off”, the image processor checks a pixel's address, determines the tonal value of the image at that address, and compares the tonal value with the pixel's threshold value in the threshold matrix. If the tonal value exceeds the threshold value, the pixel is turned “on” when the image is created on the output device. Thus, the threshold matrix is accessed for every position for comparison with each input value to decide if the output should be on or off.
However as devices (e.g., printers, copiers, etc.) become faster, threshold processing for halftones need to be faster. One solution is to increase the processing power available to halftone. This solution, however, increases the cost of the devices since it is often necessary to add more processors and/or blades.
Accordingly, an improved mechanism to speed up halftone processing is desired.